package Text8;

import java.util.Scanner;

public class Main {
    //    给定一个长度为 n的字符串，再给定 m个询问，每个询问包含四个整数 l1,r1,l2,r2
//，请你判断 [l1,r1]和 [l2,r2]这两个区间所包含的字符串子串是否完全相同。
//    字符串中只包含大小写英文字母和数字。
    public static int N = 100010, P = 131;//p是进制数，惊艳值
    public static long[] h = new long[N];//这是存放hash前缀值得数组
    public static long[] p = new long[N];//这是存放p的n次方的数组

    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int n = scanner.nextInt();
        int m=scanner.nextInt();
        String s=scanner.next();
        p[0]=1;
        for (int i = 1; i <=n ; i++) {
            p[i]=p[i-1]*P;
            h[i]=h[i-1]*P+s.charAt(i-1);
        }
        while(m-->0){
            int l1 = scanner.nextInt();
            int r1 = scanner.nextInt();
            int l2 = scanner.nextInt();
            int r2 = scanner.nextInt();
            if(get(l1,r1)==get(l2,r2)){
                System.out.println("Yes");
            }else{
                System.out.println("No");
            }
        }
    }

    public static long get(int l,int r){
        return h[r]-h[l-1]*p[r-l+1];
    }

}
